<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>

<script src="https://cdn.bootcdn.net/ajax/libs/layer/3.1.1/layer.js"></script>

<script>
    window.onload = function() {

        connect();

    };

    // 如果浏览器不支持websocket，会使用这个flash自动模拟websocket协议，此过程对开发者透明

    WEB_SOCKET_SWF_LOCATION = "/static/admin/assets/swf/WebSocketMain.swf";

    // 开启flash的websocket debug

    WEB_SOCKET_DEBUG = true;



    var ws, name, client_list = {};



    var connectNums = 0;

    // 连接服务端

    function connect() {

        // console.log(connectNums);

        //重连超过15次后不在链接

        if (connectNums > 15) {

            return false;

        }

        connectNums++;

        //域名

        var baseurl = document.domain;

        // 创建websocket

        ws = new WebSocket("ws://kaifaposssocket.hljmdd.cn:7272");

        // 当socket连接打开时，输入用户名

        ws.onopen = onopen;

        // 当有消息时根据消息类型显示不同信息

        ws.onmessage = onmessage;

        ws.onclose = function() {

            console.log("连接关闭，定时重连");

            connect();

        };

        ws.onerror = function() {

            console.log("出现错误");

        };

    }

    // 连接建立时发送登录信息

    function onopen() {

        var name = "{:getSessInfo('nickname')}";

        var user_id = "{:getSessInfo('id')}";



        // 登录

        var login_data = {

            type: "login_client",

            client_name: name.replace(/"/g, '\\"'),

            user_id: user_id

        };

        console.log(login_data);

        ws.send(JSON.stringify(login_data));



    }





    // 服务端发来消息时

    function onmessage(e) {

        // console.log(e.data);

        var data = eval("(" + e.data + ")");

        layer.msg(JSON.stringify(data), {

            offset: 'rt',

            // closeBtn: true,

            time: 5000

        });

        switch (data['type']) {

            // 服务端ping客户端

            case 'ping':

                //心跳提示

                var data = {

                    type: 'pong'

                }

                ws.send(JSON.stringify(data));

                console.log(data);

                break;

            case 'login_client':

                console.log(data);

                break;

                // 用户退出 更新用户列表

            case 'logout':

                // say(data['from_client_id'], data['from_client_name'], data['from_client_name'] + ' 退出了', data['time'], data['ide']);

                delete client_list[data['from_client_id']];

        }

    }
</script>